NETMENU Installation and Configuration Introduction NETMENU is an easy to use, network menu program. It is designed to run on any IBM PC or compatible computer running MS-DOS or PCDOS 3.x or higher and works with most PC based network systems. Features Designed specifically for network use. NETMENU has the required file locking and multiple access to menu files built in to the program. There is no need to worry about being locked out of a menu file because someone else has it open. Flexible configuration. NETMENU has been designed so that menu files may be located anywhere on the network. This flexibility allows different sets of menu files to be accessed by different groups of users. Minimal memory requirements. When programs are executed from NETMENU, a 5K loader program is all that is left in memory. This allows even the largest programs to be loaded from NETMENU. Unlimited number of menus. Each menu has 26 menu items lettered A-Z. Each menu item may either invoke an external .COM, .EXE. or .BAT file, an internal DOS command, or load another menu. This design allows an unlimited number of menus (limited only by disk space). Password protected menus and menu items. Each menu and/or menu item may be protected by a password the network administrator defines. This will prevent unauthorized access to programs and files that should only be available to certain users or groups. Encrypted menus for security. Each menu is encrypted to prevent users from learning the passwords to protected programs or menus. Separate configuration program for security. A separate configuration program (NMCONFIG) is supplied to prevent access by unauthorized users. The network administrator normally keeps this program in a directory that only he has access to. Built-in screen blanker. To prevent the image of the menu being burned into the screen during long idle periods, NETMENU has been designed with a built-in screen blanker. Built-in clock display. NETMENU has an on-screen clock which is displayed in the upper right corner of the screen. In addition, the heading of the screen displays the current day of the week and date. Mouse support. Menu items may be selected by pointing to them with a mouse and double clicking the left mouse button. To back through the menus, press the right mouse button. Customized menu heading. Two fifty (50) character lines of text may be defined during installation for display at the top of the menu. You can enter your organization's name and the name of your network here or any other text you wish. Prompts the user for parameters. Menu entries may be configured to prompt for user supplied parameters to pass to the program that is to be run. Description of each menu item. As the user moves through each menu item a one line description of each item is displayed at the bottom of the menu. This description can give the user a better indication of the function of each menu item. Installation This documentation will show the basics for installing and using the software on a Novell NETWARE network. Other network operating systems are set up in a similar manner. Login as SUPERVISOR. Copy NMSMENU.EXE to a shared directory on the network, i.e., SYS:PUBLIC. This directory should be read-only to prevent unauthorized tampering with the files. A drive mapping should be set up pointing to this directory. We will use Z:\PUBLIC for the purposes of this documentation. Copy NMS_INST.EXE and ENCRYPT.EXE to a directory that only the SUPERVISOR has rights to, i.e. SYS:SYSTEM. Another drive mapping should point to this directory and should be a search directory, that is, it should be included on the PATH. From the drive that points to the SYS:PUBLIC directory,(in this case Z:\PUBLIC) execute the NMS_INST program to configure the title lines and create NETMENU.COM. By having the SYS:SYSTEM directory on the PATH and executing the NMS_INST program from the Z:\PUBLIC directory, the NETMENU.COM program will be generated in the proper place, namely the Z:\PUBLIC directory. This is the loader program for the NETMENU system. Next, manually set the following environment variables: set MENUFILE= set MENUPROG= set MENUTEMP= set MSEDITOR= MENUFILE points to the drive and directory where the menu files are located, MENUPROG points to the drive and directory where the network menu programs are located, in this case Z:\PUBLIC and MENUTEMP points to the drive and directory where temporary files will be written as well as the location of the NMCONFIG.EXE program for the administrator. The network administrators MENUTEMP environment variable should point to a directory that is only accessible by the network administrator. The MSEDITOR variable points to the text editor that you would like to use to create and edit batch files while in the configuration program. If you don't want to edit files while in the configuration program, leave this variable blank. As an example, if the network drive and directory where the menu data files are located is S:\NETMENU and the drive and directory where the menu programs are located is Z:\PUBLIC then the set statements required would be: set MENUFILE=S:\NETMENU set MENUPROG=Z:\PUBLIC In addition, each user and the network administrator should have a network drive that has read-write access. If this directory were mapped as N:\ then the MENUTEMP variable would be set as follows: set MENUTEMP=N: The system administrator may add these variables to each user's environment in the system login script. This way you will be sure to have the variables setup properly. This also allows the administrator to point different users or groups to a different sets of menu files simply by changing an environment variable. You may have to increase the size of your environment to accommodate these additional variables. This is done in your CONFIG.SYS file with a statement like this: (DOS 3.2 and later) SHELL=C:\COMMAND.COM /E:512 /P (DOS 3.1) SHELL=C:\COMMAND.COM /E:62 /P The first example increases the environment size from the default of about 160 bytes to 512 bytes. The second example increases the environment to 62 paragraphs (16 bytes per paragraph). This is the maximum for DOS 3.1. DOS 3.2 and above allow environments up to 32768 bytes. Laptop users or users with monochrome displays can increase the readability of the menu screens by setting another DOS environment variable. This is done like this: set MSDISP=MONO This will tell netmenu that you have a display that is not capable of displaying colors and automatically adjust for this. Users with color displays don't need to set this variable at all. After setting the required environment variables, the network administrator must initially execute NMCONFIG from the DOS prompt. This will create a blank menu file called MAIN.MNU. THIS MUST BE DONE BEFORE INITIALLY STARTING NETMENU. The beginning menu file MUST BE CALLED "MAIN.MNU" for the system to work properly. Additional menus created by the system administrator may have any valid DOS filename. Once the MAIN.MNU file has been created, press ESC to exit NMCONFIG and then start the NETMENU system by typing NETMENU at the DOS prompt. If the environment variables have been set correctly and the files copied to the proper directories, the MAIN MENU will appear. Files Included The ENCRYPT.EXE file encrypts and decrypts the menu data files. This should only be used for debugging purposes. The files must be encrypted for use with the NMSMENU program. Running the ENCRYPT program with a menu filename on the command line initially will decrypt the menu file. Running it again will encrypt it. The file may be viewed or edited while it is in its decrypted state. The NMS_INST program is used to configure the heading lines and create the NETMENU.COM program. It is normally only run once during the initial installation. NMCONFIG.EXE is the menu configuration program. It must be located in a directory accessible only by the network administrator to prevent users from changing the menus. This directory is pointed to by the MENUTEMP environment variable. In the example above, this would be the network directory N:. Theory and Operation The key to the operation of the system is the NETMENU loader program. This program, first checks for the existence of the NMSMENU program in the directory pointed to by the MENUPROG environment variable. If it is not found the program will abort. If found, the program loads the NMSMENU program. The NMSMENU program executes from a shared directory on the network and reads menu data files from another shared network directory. The user selects a menu item either by scrolling the highlighted bar and pressing ENTER, double clicking the left mouse button when the mouse cursor is on the desired item or by pressing the letter beside the desired item. From the menu information in memory, the program determines if the selection is another menu or a command to be executed. If it is another menu, the menu information is loaded from the network file server. If it is a command, a batch file is built and written to the directory pointed to by the MENUTEMP environment variable. After the batch file is written, the NMSMENU program ends and is removed from memory. The NETMENU loader program then takes over, executing the batch file that was just created. When the batch file completes, control is again returned to the NETMENU program which will then reload the NMSMENU program and begin the cycle all over. Two temporary files are generated when executing a menu selection. These files are $$MENU$$.BAT which contains the commands to execute the menu item and $RETURN$.FIL which instructs NMSMENU which menu file to load so that it will return to the menu that was loaded when the external program was run. Another temporary file is generated when the program is directed to pause after execution. This file, $PAUSE$.BAT, is created by NMSMENU and executed from the NETMENU loader program. The existence of these files is usually transparent to the user as the system deletes these files after they have been used. Under certain circumstances, i.e. the user's system hangs while running a program loaded with NETMENU, these files will be left in the directory pointed to by the MENUTEMP environment variable. If these files are found in this directory they may be deleted without harm. If they are not deleted, the system will delete them automatically. Menu Navigation Navigation through the menus is simple and intuitive. The desired menu item is highlighted by moving the highlighted bar with the arrow cursor keys or single clicking the left mouse button on the desired item. To select the item the user presses the ENTER key or may double click the left mouse button when the mouse cursor is on the desired menu item. Each lower level menu is loaded in this way. If it is desired to go to the previous menu, the user must press ESCAPE or the right mouse button. If the user wishes to return directly to the Main Menu they should press Alt-M. Alt-X will exit NETMENU immediately, returning the user to the DOS prompt. Alt-D allows the user to temporarily exit to DOS to perform commands from the DOS prompt. They should type EXIT to return to NETMENU. Additionally, the options shown on the bottom line may be selected by double clicking the mouse on the area between the brackets ([ ]). Experimentation will give the user a better feel for the way the menus are navigated. Menu Configuration The NMCONFIG program may be loaded from within NETMENU by pressing ALT-C or double clicking the left mouse button on the symbol in the upper left corner of the menu screen. Remember, the NMCONFIG program should be located in a directory that only the system administrator has access to and this directory must be pointed to by the MENUTEMP environment variable. Once the configuration program loads, you may begin setting up the menus. Pick the menu item you wish to configure by pressing the menu letter, using the cursor keys to position the highlighted bar and pressing ENTER, or by double clicking the left mouse button on the item you wish to configure. Another screen will be displayed that will allow you to configure this menu item. Pressing "E" will allow you to edit this item, "D" will delete it and "ESC" will take you back to the menu screen. Press "E" to edit. The first item on the screen is the MENU ENTRY. This is the text that will be displayed in the menu for this item. The next entry is the DESCRIPTION. This text appears at the bottom of the screen when using the cursor keys to scroll through the items. This should be a brief description of the menu item. Next is the PATH\DIRECTORY specification. This field is used to specify the disk drive and directory where the command is located. If you want to call another menu using this menu item, enter "[menu]" in this field (without the double quotation marks). The word "menu" must be in lower case, enclosed by brackets. If you enter a path for the command, the batch file that is generated first will change to the disk specified and then to the directory specified. For example, if you enter Y:\UT for this entry the following commands are generated in the batch file: Y: CD \UT Be sure not to include a trailing backlash when entering a path \ directory, unless the directory you are entering is the root directory. For instance, if your command to execute is in the root directory of Y: then you should enter Y:\. This will generate the following commands in the temporary batch file: Y: CD \ The COMMAND field is used to specify the name of the program you wish to execute. This may either be a .COM, .EXE, or a .BAT file. If you entered "[menu]" for the PATH\DIRECTORY field, the COMMAND field is used to specify the name of the menu file you wish to call. This may be any valid DOS filename, but it is suggested that the .MNU extension be used to easily differentiate the menu files from other files. If the directory field is not "[menu]" then the program will search for a .COM, .EXE, or .BAT file with the name specified in the COMMAND field in the directory specified in the PATH\DIRECTORY field. If one is not found, the configuration program will ask if you want to create a batch file by that name in the specified directory. If a batch file with that name is found the program will ask if you want to edit it. This is where the MSEDITOR variable comes into play. If you have set this variable properly, NMCONFIG will shell out to your editor and allow you to either create or edit the batch file. If you don't set the variable, or a .COM or .EXE file is found in the specified directory, the program will not prompt you. As indicated by its name, the PAUSE AFTER EXECUTION field allows the results of the executed file to remain displayed on the screen before returning to the menu. This field is used to allow the results of a program that normally returns to DOS to remain displayed. You may press ENTER to supply the default answer of "N" or type "N" or "Y". The next entry, PROMPT FOR PARAMETERS, allows you to specify if you want to supply command line parameters to the program you will be executing. As in the previous item, pressing ENTER will supply the default answer of "N", or you may type "Y" or "N". If "Y" is entered the next field to complete is the PROMPT TEXT field. This field is used to prompt the user for the information to supply on the command line. For example, if a filename is required to be entered on the command line for a program that searches for the file on your hard disk you might enter a prompt like this: Enter the filename to search for: Whenever this menu item is selected the user will be prompted to enter a filename. If "[menu]" was entered for the PATH/DIRECTORY field and a DOS filename was entered for the COMMAND field, configuration will continue at the PASSWORD field. This field is used to protect either commands or menus that only specific people are allowed to access. Press ENTER to leave the password blank or enter a password. When this field is completed, you will be asked if what you entered is correct. If you answer "Y" the menu screen will re-appear, otherwise you will be given another chance to edit your entries. After returning to the menu screen you may continue configuring menu items on this menu, load another menu, or return to the menu program. Loading another menu is a simple process. Highlight the desired menu item using either the cursor keys or SINGLE clicking the left mouse button on the item. When the desired item is highlighted, press F1 to load the menu file that is specified. The system will attempt to load the filename that is described in the COMMAND field for this menu item. If the file does not exist, it will prompt you for its creation. If the item pointed to does not describe a new menu file, an error message will be displayed alerting you that the item is not a menu. That's All Folks That's about all there is to it. However, if you have any questions about configuration or comments about the program in general, I can be reached via U.S. Mail at the following address: Steve Burns 19706 E. 14th Terrace North Independence, Missouri 64056 License Information Agreement The NETMENU Network Menu System and all of its associated files are the copyrighted property of Steven R. Burns and Computer Consulting Services. You are granted a limited license to use, copy, and distribute NETMENU provided the following conditions are met: No fee above $10.00 may be charged for copying and distribution. NETMENU may only be distributed in its original unmodified state. This software is distributed under the user supported software concept. Though NETMENU is copyrighted, you are encouraged to copy and distribute this program to others. If you use this product, a registration fee of $50.00 for each file server on which it is installed is required for continued use. Network, Site, and Corporate licenses are available. See the registration and order form elsewhere in this manual. All registered users receive technical support and upgrade notices. Call or write for information about commercial distribution and dealer licenses. In addition, registered users will receive at no additional charge, a site license for PCMENU. PCMENU has the same interface as NETMENU, but runs on individual PC's. This allows users to access programs on their own PC's with the same interface as NETMENU. By making one entry in their local menu they can access the network menus through NETMENU. Disclaimer The author makes no representations or warranties with respect to the contents hereof and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose. Further, the author reserves the right to revise this publication and to make changes from time to time in the content hereof without obligation of the author to notify any person or organization of such revision or changes. User Supported Software Concept NETMENU is user supported. This means that you may copy it freely and give the copies away to anyone you wish. They are in turn requested to send in a contribution if they decide to use it. The user supported software concept (also known as "shareware") is an attempt to provide quality software at low cost. Both the user and author benefit from this plan. The user will benefit by being able to "test drive" software thoroughly before purchasing it. The author benefits by being able to enter the commercial software market while avoiding the high cost of commercial distribution. This concept helps many independent authors and small companies that otherwise would be discouraged from developing and promoting their ideas. It can only work with your support. If you obtain a user supported program from a friend and are still using it after a few weeks, then it is obviously worth something to you, and a contribution should be sent. Registration Form Send to: Steven R. Burns 19706 E. 14th Terrace North Independence, Missouri 64056 Network License fee for unlimited usage per server . . . . . . . $50.00 Site Licenses and Corporate Licenses are available. Contact me at the address above for prices. Name _____________________________________________ Company __________________________________________ Address __________________________________________ City, State, Zip _________________________________ Phone ____________________________________________ 3.5" disks _____ 5.25" disks _____ Where did you hear about NETMENU ______________________________________________________________________ ______________________________________________________________________ Please make checks payable from U.S. banks.